package com.youkeyi.ddy.cloud.common.api.application.applet.crm.type;

import com.youkeyi.ddy.cloud.common.api.application.applet.crm.type.dto.AppletCustomerTypeListCloudDto;
import com.youkeyi.ddy.cloud.common.api.application.applet.crm.type.param.AppletCustomerTypeListCloudParam;
import io.swagger.annotations.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 客户类型
 *
 * @Serveror liuxiawang
 * @Date 5/24/22 10:36 PM
 * @Location shenzhen.china
 */
@Api(tags = {"Customer Type Management"})
@RestController
@FeignClient(value = "YOUKEYI-DDY-CLOUD-APPLICATION-APPLET", fallback = AppletCustomerTypeCloudServiceFallback.class)
@RequestMapping("/applet/customer/type")
public interface AppletCustomerTypeCloudService {

    // 查询客户类型列表
    @ApiOperation(value = "Query Customer Type List", authorizations = {@Authorization("com.youkeyi.ddy.cloud.common.api.application.applet.crm.type.BusinessCustomerTypeCloudService.list")})
    @ApiResponse(code = 200, message = "data Property in Response Body", response = AppletCustomerTypeListCloudDto.class)
    @ApiImplicitParams({
            @ApiImplicitParam(name = "param", paramType = "query", value = "Param of Query Customer Type List", dataType = "AppletCustomerTypeListCloudParam", dataTypeClass = AppletCustomerTypeListCloudParam.class),
    })
    @GetMapping
    public abstract AppletCustomerTypeListCloudDto list(AppletCustomerTypeListCloudParam param);

}
